<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
   <!-- 1. 引入react核心库 -->
   <script src="./node_modules/react/umd/react.development.js"></script>
   <!-- 2. 引入react-dom 用于支持react操作dom -->
   <script src="./node_modules/react-dom/umd/react-dom.development.js"></script>
   <div id="root"></div>
  <script>
    console.log('react',React,ReactDOM);
    // 3.创建react元素 参数1:元素名称 参数2：元素属性 参数3：元素子节点
    let title=React.createElement('h1',null,'你好react')
    // 4.渲染元素到页面上去 参数1：要渲染的元素参数2：挂载点
      // react 17
        // ReactDOM.render(title,document.getElementById('root'))
      // react 18 不再使用ReactDOM.render()渲染元素，改用createRoot，控制台将不会报错
        // 创建根节点
        let root=ReactDOM.createRoot(document.getElementById('root'))
        // 渲染元素到页面上去
        root.render(title)
    // 虚拟dom ->普通对象
    console.log('VDOM',title);
    console.log('TDOM',document.getElementById('root'));
    let TDOM=document.getElementById('root')

    // debugger
    // 判断数据类型 typeof instanceof
    let arr=[]
    console.log('title-typeof',typeof title,typeof arr);
    console.log('title-instanceof',title instanceof Object);//true
    console.log('arr-instanceof',arr instanceof Object && arr instanceof Array); //true
  </script>
</head>
<body>
  <!-- 关于虚拟dom  1.本质上是object类型的对象（一般对象）2.虚拟dom比较‘轻’，真实dom比较‘重’，因为虚拟dom是react内部在用，无需真实dom上那么多的属性 3.虚拟dom最终会被react转化为真实dom，呈现在页面上 -->


  
</body>
</html>